var prefix = "/nodirectList/manage";
$(function () {
    $("#province").val("");
    $("#city").val("");
    $("#area").val("");
    zDlistName();
    load();
});
$('#newNodirectListTable').on('load-success.bs.table', function (e, data) {
    if (data.total && !data.rows.length) {
        $('#newNodirectListTable').bootstrapTable('selectPage').bootstrapTable('refresh');
    }
});

function load() {
    $('#newNodirectListTable').bootstrapTable(
        {
            method: 'get', // 服务器数据的请求方式 get or post
            url: prefix + "/newNodirectQuery", // 服务器数据的加载地址
            showRefresh: true,
            // showToggle : true,
            iconSize: 'outline',
            // toolbar: '#exampleToolbar',
            striped: true, // 设置为true会有隔行变色效果
            dataType: "json", // 服务器返回的数据类型
            pagination: true, // 设置为true会在底部显示分页条
            pageList: [20, 50, 100, 200],
            // queryParamsType : "limit",
            // //设置为limit则会发送符合RESTFull格式的参数
            singleSelect: false, // 设置为true将禁止多选
            // contentType : "application/x-www-form-urlencoded",
            // //发送到服务器的数据编码类型
            pageSize: 200, // 如果设置了分页，每页数据条数
            pageNumber: 1, // 如果设置了分布，首页页码
            // search : true, // 是否显示搜索框
            showColumns: true, // 是否显示内容下拉框（选择显示的列）
            sidePagination: "server", // 设置在哪里进行分页，可选值为"client" 或者
            showFooter:true,
            // "server"
            queryParams: function (params) {
                return {
                    limit: params.limit,
                    offset: params.offset,
                    order: 'desc',
                    start: $.trim($("#start").val()),
                    end: $.trim($("#end").val()),
                    province: $.trim($("#province").val()),
                    city: $.trim($("#city").val()),
                    district: $.trim($("#area").val()),
                    storeroomId: $.trim($("#storeroomId").val()),
                    nodirectId:$.trim($("#nodirectId").val()),
                    centreId:$.trim($("#centreId").val()),
                    baseproductid:$.trim($("#baseproductid").val())
                };
            },
            columns: [
                {
                    checkbox: true
                },{
                    field: 'no',
                    title: '序号',
                    sortable: true,
                    align: "center",
                    width: 40,
                    formatter: function (value, row, index) {
                        //获取每页显示的数量
                        var pageSize=$('#newNodirectListTable').bootstrapTable('getOptions').pageSize;
                        //获取当前是第几页
                        var pageNumber=$('#newNodirectListTable').bootstrapTable('getOptions').pageNumber;
                        //返回序号，注意index是从0开始的，所以要加上1
                        return pageSize * (pageNumber - 1) + index + 1;
                    }
                },
                {
                    field: 'productName',
                    title: '商品名称'
                },
                {
                    field: 'optionname',
                    title: '规格',
                    align:"right",
                    footerFormatter: function (value) {
                        return "合计：";
                    }
                },
                {
                    field: 'countTotal',
                    title: '订货数量',
                    align: 'center',
                    footerFormatter: function (value) {
                        var count = 0;
                        for (var i in value) {
                            count += value[i].countTotal;
                        }
                        return count;
                    }
                },
                // {
                //     field: 'countTotal',
                //     title: '仓库数量',
                //     formatter: function (value, row, index) {
                //         return  '<input id="countTotal'+index+'" name="countTotal" type="text" class="form-control" size="5" value="'+value+'">';
                //    }
                // }
            ],
            onLoadSuccess:function (data) {
                initCheckAll();
            }
        });
}

function reLoad() {
    $('#newNodirectListTable').bootstrapTable('refresh');
}


function initCheckAll() {
    $('#newNodirectListTable').bootstrapTable('checkAll');
}

function generateList() {
    var rows = $('#newNodirectListTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
    if (rows.length === 0) {
        layer.msg("请选择要生成清单的数据");
        return;
    }

    var start = $.trim($("#start").val());
    if (!start) {
        layer.msg("请选择开始时间!");
        return;
    }
    var end = $.trim($("#end").val());
    if (!end) {
        layer.msg("请选择结束时间!");
        return;
    }
    var province = $.trim($("#province").val());
    if (!province) {
        layer.msg("请选择省份!");
        return;
    }
    var city = $.trim($("#city").val());
    if (!city) {
        layer.msg("请选择城市!");
        return;
    }
    var listName = $.trim($("#listName").val());
    if (!listName) {
        layer.msg("先填写清单名称!");
        return;
    }
    layer.confirm("确定生成非直邮清单？", {
        btn: ['确定', '取消']
    }, function () {
        var ids = [];
        // 遍历所有选择的行数据，取每条数据对应的ID
        $.each(rows, function (i, row) {
            ids[i] = row['productId'];
        });
        $.ajax({
            url: prefix + "/generateList",
            type: "post",
            data: {
                'start': $.trim($("#start").val()),
                'end': $.trim($("#end").val()),
                'province': $.trim($("#province").val()),
                'city': $.trim($("#city").val()),
                'area': $.trim($("#area").val()),
                'storeroomId': $.trim($("#storeroomId").val()),
                'listName': $.trim($("#listName").val()),
                'remark': $.trim($("#remark").val()),
                'ids': ids,
                'centreId':$.trim($("#centreId").val())
            },
            beforeSend: function (request) {
                index = layer.load();
            },
            success: function (r) {
                if (r.code === 0) {
                    layer.close(index);
                    layer.msg(r.msg);
                    reLoad();
                    closeDow();
                } else {
                    layer.close(index);
                    layer.msg(r.msg);
                    reLoad();
                }
            }
        });
    })
}

/**
 * 物理与清单撤销商品
 * @returns
 */
function rollback(){
	 var rows = $('#newNodirectListTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	 var start = $.trim($("#start").val());
	    if (!start) {
	        layer.msg("请选择开始时间!");
	        return;
	    }
	    var end = $.trim($("#end").val());
	    if (!end) {
	        layer.msg("请选择结束时间!");
	        return;
	    }
	    var ids = [];
        // 遍历所有选择的行数据，取每条数据对应的ID
        $.each(rows, function (i, row) {
            ids[i] = row['productId'];
        });
        if(ids.length==0){
        	layer.msg("请选择你要撤销的商品!");
	        return;
        }
       layer.confirm("确定撤销该商品吗？", {
            btn: ['确定', '取消']
        },function () {
            $.ajax({
                url: prefix + "/retractList",
                type: "post",
                data: {
                    'start': $.trim($("#start").val()),
                    'end': $.trim($("#end").val()),
                    'nodirectId':$.trim($("#nodirectId").val()),
                    'ids': ids
                },
                beforeSend: function (request) {
                    index = layer.load();
                },
                success: function (r) {
                    if (r.code === 0) {
                        layer.close(index);
                        layer.msg(r.msg);
                        reLoad();
                        closeDow();
                    } else {
                        layer.close(index);
                        layer.msg(r.msg);
                        reLoad();
                    }
                }
            });
        })
       
}

function zDlistName() {
    var d = new Date().format("yyyy/MM/dd hh:mm:ss");
    var listName = "物流清单_" + d;
    $('#listName').val(listName);
}

//选择省市时,重新查询, 为了防止select联动插入的速度小于查询速度,故将延时0.5秒后再查询
function chooseReLoad() {
    setTimeout(function () {
        $("#area").val("");
        reLoad();
    }, 500);
}

Date.prototype.format = function (fmt) {
    var o = {
        "M+": this.getMonth() + 1,                 //月份
        "d+": this.getDate(),                    //日
        "h+": this.getHours(),                   //小时
        "m+": this.getMinutes(),                 //分
        "s+": this.getSeconds(),                 //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds()             //毫秒
    };
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    for (var k in o) {
        if (new RegExp("(" + k + ")").test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        }
    }
    return fmt;
}